
        <html>
			<head>
			     <title>企业安全管理（一） - ayazero</title>
				 <meta http-equiv="content-type" content="text/html; charset=UTF-8">
			</head>
			<body>
				<h1>原文地址:<a href="http://drops.wooyun.org/tips/6398">http://drops.wooyun.org/tips/6398</a></h1>
				
      <p>
        <h1>0x00 安全行业的第三流派-CSOs</h1>

<hr />

<p>目前在大多数行业后加入者的眼中“二进制”和“脚本”流派广为人知，虽然他们是安全行业的主力军，但除了微观对抗之外安全是一个很大的工程，比如企业安全管理，我把他们归入安全行里的第三流派-CSOs，加了s跟scriptkids一样表示他们是一个群体，这个群体从生态链的顶端链接着绝大多数从业者和安全厂商。</p>

<p>企业安全是不是发现漏洞然后修漏洞，再设置一下防火墙之类的？</p>

<p>假如你的公司只有一个产品，只有2台服务器，只有3个程序员写代码，我认为这个说法不能算错。不过在绝大多数情况下，企业安全远不止于此。渗透性测试和对抗能不能算企业安全？在一个过于纸上谈兵的企业我觉得这是不错的切入点，不过局部对抗发生于企业安全的各个场景中，他只能算是缩影，不是全貌。企业安全是什么对传统乙方安全公司，对新兴的业务安全公司移动安全公司，对甲方的互联网公司，对甲方的传统公司，对咨询顾问，对漏洞研究者，对活跃于各大SRC上的白帽子们的诠释肯定都不一样。</p>

<!--more-->

<p>先说一下我自己的经历，以便了解我是从什么角度来看待这一问题的，学生时代跟现在的很多白帽子一样玩玩渗透，玩玩二进制，在过去那个叫幻影（Ph4nt0m）的组织里，大学毕业后即进了绿盟做安全服务和咨询，这是乙方中离甲方安全最近的职能，接受了绿盟对传统安全体系和方法论教育，有些10年前的东西放到今天都还会觉得很高大上，现在的安全行业里除了显得有些空洞的安全标准的传承，要么就是很浅的木桶理论之类的外延的理解，尤其在遇到互联网崛起时，攻防受追捧，有些东西因为没有收到金钱的认可很多人就直接把这一部分东西给扔了或自我否定了，其实有些思想跟技术表现形式一点关系都没有，放到今天仍然是很实用的技能。</p>

<p>在绿盟最大的便利并不是下班路上随便都能找到能聊exploit技术的大牛，而是视野：从金字塔视角看到安全的整体解决方案，囊括组织、管理和技术3方面的东西，覆盖全行业全价值链过程的技术方案，算上第三方的话几乎涵盖市面上所有的安全产品和解决方案。有人看到这些会问这不是传统安全那一套吗？我说且不急，听我慢慢讲，而且我可以剧透的说之后几十篇都是围绕互联网企业安全的，并不打算在传统安全上花很多篇幅，只是需要区分一下企业安全实际的状况和某些厂商为了兜售自己的产品而宣扬的概念是有所不同的，大多数厂商都会避开自己的弱项而在市场活动及软文上专注的强调自己擅长的概念。</p>

<p>离开绿盟后我去了甲方，一家大型网游公司，08年那时将近万台的物理服务器分布于30多个IDC的规模似乎比当时搜狐全站的IDC规模还要大一些，跟现在一样那时候也是社会上的公司普遍缺少安全负责人的时代，我也有幸组建了一支属于自己的安全团队，成为当时少数的安全总监之一，团队的这些人现在遍布互联网行业的半壁江山，且都是安全部门独当一面的骨干。在这段时间我身体力行了从乙方到甲方视角的过渡，从零开始建立安全体系，真正把乙方玩的东西在一家甲方公司落地了，我的方法思路过程跟某些互联网公司不太一样，因为那时候BAT的安全人员大多是毕业后直接去的甲方，一开始就做甲方安全，而我是从乙方到甲方，所以实践上更多了参考了乙方的方法论，除了攻防之外多线并行，直接建立较完整的安全体系，在遇到上海的网游业被腾讯包抄整体沉沦的时候，我也失去了继续深挖甲方安全建设的兴趣。</p>

<p>之后我去做了一家webgame公司的技术负责人，社会俗名CTO，由安全转向全线技术管理，说实话在这段时间里我并不是特别重视安全，一方面跟自己是安全出身有关，另一方面这确实是屁股决定脑袋的事情，不是安全不重要，而是有很多事情比安全更重要。安全这个事情说白了就是当你有100w的时候拿出2w买个保险箱装它们你觉得值，但你只有2w的时候要拿出8k买保险箱大多数人都会囊中羞涩。这也是我在知乎上回答的那个问题，为什么做安全一定要去大公司的原因之一。我窃以为很多公司的CEO、CTO的对安全重视，翻译过来应该是：被黑是一件很负面的事情，所以想找个人筹建团队打包了，只要不出事他们就不会太想起这事，但不是心理真的认为安全非常重要，也不会当成是一种竞争力，这句话并不是在映射过去，而是当下国内那么多对企业安全负责人的招聘在我看来也就是那么回事。</p>

<p>之后我去数字公司经历了短暂的时光，再次以乙方的身份拜访了企业级客户，很偶然的发现大多数乙方的顾问或工程师其实都没有真正做过企业安全管理的经验，虽不能把这些直接等价于纸上谈兵，不过确实是乙方的软肋，在竞争性的销售活动中，三下五除二就“把别人说没了”。在甲方企业高层的眼中，攻防这档子事可以等价于我花点钱让安全公司派几个工程师给我做渗透测试然后修漏洞，不像大型互联网公司那样上升为系统化和工程化的日常性活动。</p>

<p>离开数字公司后我到了全球化的公司-菊花长从事产品线安全，第一个项目是云计算，产品线安全属于甲方安全又跟很多甲方安全不太一样，他比传统意义上的甲方安全介入的更深，覆盖率更高的SDLC，直接导向产品设计的源头，对绝大多数甲方而言你也许在用OS的Dep&amp;ASLR，也许在用各种容器，但你很少会自己去发明轮子，你也许会自己造一个WAF这样的工具，但你可能很少会像微软那样要自己去搞一个EMET这种涉及安全机制层面的东西，但在产品线安全里，这一切都会更进一步，不只是像互联网公司那样关注入侵检测、漏洞扫描等而是从设计和威胁建模的角度去看整体和细节的安全。这又拓展了我从R&amp;D的视角看待以及分析安全问题的眼界。</p>

<p>至此，我既不属于脚本二进制，我也不属于乙方咨询顾问派，也不单纯属于甲方CSO，而是站在一个较全面客观中立的立场，我不会说某些方式属于纸上谈兵，也不会把攻防捧的至高无上，我认为这些都属于偏激的话。</p>

<p>好了，切入第一篇的正题，企业安全是什么？</p>

<p>我认为它可以概括为：从广义的信息安全或狭义的网络安全出发，根据企业自身所处的产业地位、IT总投入能力、商业模式和业务需求为目标，而建立的安全解决方案以及为保证方案实践的有效性而进行的一系列系统化，工程化的日常安全活动的集合。怎么感觉有点咬文嚼字？好吧，这里面的每一个项都会决定你的安全整体方案式什么，哪怕同是中国互联网TOP10中的公司其安全需求也完全不一样。</p>

<p>有人也许会觉得CSO干的活有点虚，但凡偏管理都是纸上谈兵。我不直接回答这个问题，我只举一个例子。大多数身在这个行业的人都知道社工库遍地都是，入侵者甚至站在了大数据的维度，国内的数据库绝大多数除了password字段加盐值存储，其余信息都是明文保存。而在欧美等地隐私保护是有明确的法律规定的，映射到数据持久化这个细节，就是需要满足一定强度以上的加密算法加密存储，CSO就是需要制定这些策略的人，你难道说这些都是形而上学无用的安全措施么？在互联网公司，安全负责人是会较多的介入到日常的技术性活动中的，但随着组织规模的扩大和官僚程度的加深，CSO不再可能表现的像白帽子一样专注于攻防对抗的细节也是一个无法回避的现实问题。是不是一定要说出诸如CSRF时IE和其他浏览器的区别这样的问题才算是合格的CSO，我觉得这个看具体场景，对于国内排名TOP5以后的互联网公司我觉得这个需求算合理范畴，但对于规模非常庞大的公司而言，这个需求显然太苛刻了，比如我所在公司，CSO属于法务类职位而不是技术类职位。</p>

<p>不想当将军的士兵不是好士兵，虽然有技术路线，不过我估计这个行业里至少有一半以上人想过要当CSO，但是CSO这个职业又跟某些大牛们表达的不完全一致，所以下面的篇幅会继续写，至少在技术层面，CSO不会只停留在微观对抗，而是会关注系统性建设更多一点。</p>

<h1>0x02 企业安全涵盖哪些事情</h1>

<hr />

<p>从我在绿盟所受的安全教育来看大致分为以下几方面：</p>

<pre><code>1. 网络安全：基础、狭义但核心的部分，以计算机（PC、服务器、小型机、BYOD……）和网络为主体的网络安全，主要聚焦在纯技术层面 
2. 平台和业务安全：跟所在行业和主营业务相关的安全管理，例如反欺诈，不是纯技术层面的内容，是对基础安全的拓展，目的性比较强，属于特定领域的安全，不算广义安全。 
3. 广义的信息安全：以IT两个字为核心，包括广义上的“Information”载体：计算机数据库意外还有包括纸质文档、机要，市场战略规划等经营管理信息、客户隐私、内部邮件、会议内容、运营数据、第三方的权益信息等但凡你想得到的都在其中，加上泛“Technology”的大安全体系 
4. IT风险管理、IT审计&amp;内控：对于中大规模的海外上市公司而言，有诸如SOX-404这样的合规性需求，财务之外就是IT，其中所要求的在流程和技术方面的约束性条款跟信息安全管理重叠，属于外围和相关领域，而信息安全管理本身从属于IT风险管理，是CIO视角下的一个子领域 
5. 业务持续性管理：BCM（Business Continuity Management）不属于以上任何范畴、但又跟每一块都有交集，如果你觉得3和4有点虚，那么BCM绝对是面向实操的领域。最近前有网易、中有支付宝、后又携程，因为各种各样的原因业务中断，损失巨大都属于BCM的范畴。有人会问这跟安全有什么关系？安全是影响业务中断的很大一部分可能因素，例如DDOS，入侵导致必须关闭服务自检，数据丢失隐私泄露等。又会有人问这些归入安全管理即可，为什么要跟BCM扯上关系，做安全的人可以不管这些吗？答案自然是可以不管，就好像说“我是个java程序员，JVM、dalvik（ART）运行原理不知道又有什么关系，完全不影响我写代码！” 事实上BCM提供了另一种更高维度，更完整的视角来看待业务中断的问题，对于安全事件，他的方法论也比单纯的ISMS更具有可操作性，对业务团队更有亲和力，因为你知道任何以安全团队自我为中心的安全建设都难以落地，最终都不会做的很好 
6. 安全品牌营销、渠道维护：CSO有时候要做一些务虚的事情，例如为品牌的安全形象出席一些市场宣介，presentation。笼统一点讲现在SRC的活动基本也属于这一类。 
7. CXO们的其他需求：俗称打杂。这里你不要理解为让安全团队去攻击一下竞争对手的企业这样负面向的事情，而是有很多公司需要做，但运维开发都不干，干不了或者不适合干的事情，安全团队能力强大时可以承包下来的部分，事实上我的职业生涯里就做了不少这样的事情。
</code></pre>

<p>基础的网络安全是绝大多数在甲方的安全团队能cover的事情，不管你的安全团队能力如何，在公司里有无影响力，这个是必须要做的因为这是把你招过来的初衷。再往后的发展，是否止于此则看各人的想法，对于沉醉攻防技术的人其实不需要往后发展了这些足够了，但如果你的安全团队富有活力和想法，即便你想止于此他们也不干，把部门做大做强是这些人的愿望，只有这样才能给安全团队更大的空间，因为这点跟乙方是不一样的：对于乙方而言你可以在某个单点领域上无限深挖，而不会遇到天花板，因为你始终是在满足主营业务的需求，即使你成为骨灰级的专家公司也会对你在某方面创新有所期待而给你持续发展的可能性，但是在甲方，安全不是主营业务，归根结底是一个保值型的后台职能，不是一个能创造收益的前台职能，他是一个成本中心而非盈利中心，他的成本的大小跟业务规模以及公司盈利能力相关，公司发展时他的budget和headcount会发展，业务停滞时安全做的再好也不会追加投入，因为无此必要。反面的例子也有：做的不好反而追加投入的，那是一种政治技巧而非现实需要。</p>

<p>如果你在乙方的研究部，无论你的漏洞挖掘技能多牛逼，公司都不会跳出来说“你已经超出我们需求了，你还是去更NB的公司吧”（通常情况）。但是在甲方，假设是在一个国内排名大约TOP5-TOP10的互联网公司，养一个漏洞挖掘的大牛也会觉得很奇怪，他是在给公司创造价值还是在自娱自乐是会受到质疑的，CSO也会被质疑是否花了大价钱挖来的人不是出于业务需要而是用于扩大自己团队在业内影响力这种务虚的事。假如公司到了google这种级别，有一大堆产品，储备大牛则是顺利成章的，业务上显然是有这种需求的，不过还是要看产出是否对主营业务有帮助，工作成果不能转化为主营业务竞争力的尝试性活动在公司有钱的时候无所谓，在公司收紧腰带时则其存在价值会受到质疑。</p>

<p>以狭义的安全垂直拓展去发展甲方安全团队的思路本质上是个不可控的想法，筹码不在CSO手中，甚至不在CTO手中，而是看主营业务的晴雨表，也就是我以前微博上说的，甲方安全是要看“脸”的，这个脸还不是指跨部门沟通合作，而是在最原始的需求出发点上受限于他们。因此有想法的安全团队在（1）做的比较成熟时会转向（2），（2）是一个很大的领域，发展的好安全团队的规模会x2，x3，并且在企业价值链中的地位会逐渐前移，成为运营性质的职能，结合BCM真正成为一个和运维、开发并驾齐驱的大职能。</p>

<p>BCM在很多人眼里就是DR（灾难恢复），DR其实只是BCM中的一个点，属于下层分支。不过这对技术领域的人而言是最直观的部分，DR在互联网公司里由基础架构部门或运维主导，不过对于强势的甲方安全团队其实也是能参与其中一部分的，我之前也主导过这些，当然也是受到了绿盟的教育以及我的“前辈们”的启发。有兴趣的可以看一下BS25999</p>

<p>广义的信息安全，比较直观的映射就是ISO2700x系列，行业里的绝大多数人都知道ISO27001和BS7799.不展开了，对真正有安全基础的人而言都是很简单的东西。在企业里能否做到广义的安全，主要看安全负责人和安全团队在公司里影响力，对上没有影响力，没有诠释利害关系和游水的能力自然也就做不到这些，另一方面，狭义安全主要对接运维开发等技术面公司同僚，但是广义安全会对接整个公司的各个部门，对于沟通面的挑战来说又上了一个新的台阶，似乎在我看来这主要取决于安全的领队人物自己拥有什么样的知识结构以及他的推动能力如何。</p>

<p>对于（4），如果你所在的组织有这方面的需求，安全职能自然也会参与其中，是否刻意去发展他则看自己需求，对我朋友中某些做过IT治理和风险咨询的人相信是有能力一并吃下的，如果是技术派我就不建议你去搞了。</p>

<p>（6）属于水到渠成的事情，到了那一步你自然需要考虑，就算你不想公司也会让你去，就像我现在明明做技术活，却也不知道为啥会跟这一类事情挂上钩。</p>

<p>（7）有人看时自动过滤了，不过安全负责人自身是否有瓶颈，能否在企业里发展起来跟这条有很大关系，甚至有很多从（1）发展到（2）（3）的人都需要借助（7）这个渠道，点到为止不多说了。。。</p>

<p>对于互联网公司，我建议做1、2、5；对于传统行业，我建议做：1、3、4、5。</p>

<p>在互联网行业安全包括哪些内容，我觉得可以概括为： 信息安全管理（设计流程、整体策略等），这部分工作约占总量的10%，比较整体，跨度大，但工作量不多。</p>

<p>基础架构与网络安全：IDC、生产网络的各种链路和设备、服务器、大量的服务端程序和中间件，数据库等，偏运维侧，跟漏洞扫描，打补丁，ACL，安全配置，网络和主机入侵检测等这些事情相关性比较大，约占不到30%的工作量。</p>

<p>应用与交付安全：对各BG，事业部，业务线自研的产品进行应用层面的安全评估，代码审计，渗透测试，代码框架的安全功能，应用层的防火墙，应用层的入侵检测等，属于有点“繁琐”的工程，“撇不掉、理还乱”，大部分甲方团队都没有足够的人力去应付产品线交付的数量庞大的代码，没有能力去实践完整的SDL，这部分是当下比较有挑战的安全业务，整体比重30%+，还在持续增长中。</p>

<p>业务安全：上面提到的（2），包括账号安全、交易风控、征信、反价格爬虫，反作弊反bot程序、反欺诈、反钓鱼、反垃圾信息、舆情监控（内容信息安全）、防游戏外挂、打击黑色产业链、安全情报等，是在“吃饱饭”之后“思淫欲”的进阶需求，在基础安全问题解决之后，越来越受到重视的领域。整体约占30%左右的工作量，有的甚至大过50%。这里也已经纷纷出现乙方的创业型公司试图解决这些痛点。</p>

<p>对整体介绍的部分在前面的篇幅讲的比较多，主要目的是希望“视野”部分不缩水，这些概念在后面篇幅都不打算再展开了，如果你迟迟没看到技术篇，很正常，这只是一个开头而已。下一篇谈谈互联网企业安全管理和传统行业安全管理的区别。</p>

<h1>0x03 互联网企业安全管理和传统行业的区别</h1>

<hr />

<p>总体来看，传统安全偏重管理，“三分技术，七分管理”，互联网行业偏重技术，我认为应该倒过来。其实这种说法也是不准确的，到底什么算技术，什么算管理，这些都没有明确的定义，安全领域大部分所谓管理不过是组织技术性的活动而已，充其量叫技术管理，如果你较真这些理论那你就掉坑里了。</p>

<p>先说一下传统安全和互联网安全的建设需求上的差异：</p>

<p>传统安全：</p>

<p>IT资产相对固定 业务变更不频繁 网络边界比较固定 IDC规模不会很大甚至没有 使用基于传统的资产威胁脆弱性的风险管理方法论加上购买和部署商业安全产品（解决方案）通常可以搞定。 互联网安全生态，对于大型互联网而言，需要应对：</p>

<p>海量IDC和海量数据 完全的分布式架构 应对业务的频繁发布和变更 同时架构层面关注：</p>

<p>高性能 高可用性 扩展性 TCO（ROI） 在规模不大的互联网公司，传统的风险管理方法论是可以沿用的，但在大型互联网公司传统的方法论可能会失效，因为你可能连基础架构上跑什么业务都搞不清，你想理清所有的系统接口间的调用关系以及数据流去检视设计风险以及设置细粒度的访问控制就是件不现实的事情，产品线极多时业内没有任何一个团队敢说自己有能力支持全产品线，对于高速发展的业务，当你理清了你想要的说不定架构又发生变化了，只有对占公司整体营收比较主要的以及培育性质的战略级的核心业务才有必要去深入调研并随之update，其他的还是要依靠自动化手段。</p>

<p>从安全建设上来看，传统安全建设：</p>

<p>在边界部署硬件防火墙、IPS/IDS、WAF、商业扫描器，堡垒机、在服务器上安装防病毒软件，集成各种设备、终端的安全日志建设SOC，当然购买的安全硬件设备可能远不止这些。在管理手段上比较重视ISMS（信息安全管理体系）的建设，重视制度流程、重视审计、有些行业也必须“等保合规”。</p>

<p>其实这里还有一个很大的区别就是，互联网有生产网络和办公网络的概念，即便最近Google声称取消内网也是针对办公网络而非生产网络，互联网行业的大部分安全建设都围绕生产网络，而办公网络的安全通常只占整体的较小比重。但是对于某些传统公司，他可能完全没有生产网络而只有办公网络，他的网络安全也就变成了办公网络的网络安全。但我推测随着社会互联网+进程的加速，很多传统的公司也会有自己的生产网络，最终都变成和互联网公司一样的形态。所以对于那些在给传统企业客户提供咨询和解决方案的乙方的同学，如果你们不学习互联网安全，也会被淘汰。</p>

<p>互联网的生产网络的解决方案基本上都是以攻防为驱动的，怕被黑、怕拖库、怕被劫持就是安全建设的最直接的驱动力，互联网公司基本不太会考虑等保、合规这种形而上的需求，只从最实际的角度出发，这一点是比传统行业更务实的地方。最近也遇到一个例子，说要在服务器上装防病毒软件，一看就知道是传统行业来的思路，不是没有真正做过互联网企业安全就是没被业务线挑战过，在大型互联网，光是性能损耗、运维成本和软件成本这几条就能分分钟把这种需求干掉，更不用进入对于服务器防护这种更实际的话题了。很多标准说到底都是各厂商参与编写，博弈并达成妥协，有利于自己产品销售的代言白皮书，并不是完全站在建设性的角度的，作为乙方卖卖无脑客户赚点钱自然无可厚非，但在真正的甲方做企业安全生搬硬套是会受到质疑并逐渐失去影响力的。</p>

<p>对于超过一定规模的大型互联网公司，其IT建设开始进入自己发明轮子的时代，安全解决方案开始局部或进入全部自研的时代，例如不会购买硬件防火墙，而是用服务器+Netfilter的方式自建，不会部署硬件IDS/IPS，而是用其他方式来解决这个问题。其实不难理解，规模小的时候买台硬件防火墙放在最前面，省事。但是规模大了我去买1000台硬防放在IDC机房？光￥就受不了啊。其次，基于CAP理论和Map-reduce衍生的一系列互联网架构，本质上都具有“无限”水平扩展能力，而传统的硬件盒子式的解决方案其设计大多源于对过去体系架构的理解，基本不具备扩展能力，完全不能适应大规模的互联网架构，总体上属于相对封闭的单点式防护。在这种情况下甲方安全团队自己动手去打造完全围绕自身业务的解决方案也就成了必然趋势。</p>

<p>自研或对开源软件进行二次开发+无限水平扩展的软件架构+构建于普通中低端硬件之上（PC服务器甚至是白牌）+大数据机器学习的方式是目前大型互联网公司用来应对业务的持续性增长的主流安全解决方案。是否真的到了机器学习阶段这个有点难说，但是安全进入大数据时代则是很稀松平常的事了。</p>

<p>对办公网络和雇员信息安全管理而言，互联网公司的文化比较open，一般不太会维持激进的安全政策，这点也是跟传统行业差别比较大的地方</p>

<p>下一篇继续介绍不同规模企业下的安全管理</p>

<p>微博 http://weibo.com/ayaz3ro 知乎主页 http://www.zhihu.com/people/zhao-yan-68/ 个人站点 http://www.ayazero.com</p>      </p>
    
			</body>
		</html>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          